This application is related to pending U.S. patent application Ser. No. 09/251,107, entitled xe2x80x9cData Transmission System and Method of Operation,xe2x80x9d and pending U.S. patent application Ser. No. 09/251,110, entitled xe2x80x9cSystem and Method for Prefetching Data;xe2x80x9d both applications filed concurrently with this application.
The present invention relates to the field of communication systems, and more particularly to a system and method for traffic shaping packet-based signals.
Communications systems capable of processing packet-based signals, such as asynchronous transfer mode (ATM) or frame relay signals, may transmit, receive and process various types of information, such as voice, video, data, etc. These various signal types have different characteristics and place different demands on the transmission system. For example, packets supporting constant bit rate (CBR) signals, such as video signals, require a continuous flow of data transmitted at a constant rate. CBR signals tolerate little deviation in transmission rates before the quality of the signal degrades. Other types of signals, such as, available bit rate (ABR) signals typically exhibit bursty traffic patterns involving sporadic transmission of blocks of cells. ABR signals generally allow greater flexibility in the timing of their transmission.
Designers of systems for transmitting packet-based signals face a challenge of providing economical systems for efficiently transmitting signals supporting various qualities of service. A key to facilitating efficient transmission of various types of signals is to maintain an even transmission distribution to avoid idle transmission time. One approach to scheduling transmission of various packet-based signals is to use a transmission scheduling queue having a ring structure, wherein all cells, or frames of a particular packet are simultaneously scheduled in the ring. This approach schedules a first cell in an appropriate location within the ring, and then proceeds to schedule all other cells from the same packet based on the position of the initially scheduled cell. A problem with this approach is that it does not allow for adjustment of the ring""s contents once the packet has been scheduled. Subsequently received packets in need of transmission may be precluded from entry into the ring because of the static. nature of the scheduling method.
In accordance with the present invention, a system and method for traffic shaping packet-based signals are provided that substantially eliminate or reduce disadvantages or problems associated with previously developed systems and methods. In particular, the present invention facilitates traffic shaping signal packets to provide an efficient distribution of transmitted signals in light of the quality of service (QOS) associated with each signal.
In one embodiment of the present invention, a method of scheduling transmission of a plurality of cells of a first signal packet associated with a first virtual channel address using a scheduling ring having a plurality of slots and pointer operable to indicate a current slot, comprises advancing the pointer to a slot associated with the first virtual channel address, initiating transmission of a previously scheduled first cell associated with the first virtual channel address, rescheduling transmission of a previously unscheduled second cell associated with the first virtual channel address for transmission at a later time, and advancing the pointer to the next slot.
Technical advantages of the present invention include the provision of a method and apparatus for traffic shaping transmission of a plurality of signal packets to provide an efficient transmission distribution in light of the quality of service associated with each packet. The present invention dynamically schedules each cell in a packet near or during the time that a previously scheduled cell of that packet is serviced for transmission. This system avoids problems associated with statically allocated transmission schedules by facilitating constant reorganization of the scheduling ring as new cells are scheduled.
The invention associates each signal packet with a particular transmission priority based on characteristics associated with each packet. The present invention schedules transmission of the cells of each packet based, at least in part, on the cell""s transmission priority relative to transmission priorities associated with previously scheduled cells. Assigning a transmission priority to each virtual channel scheduled in the scheduling ring facilitates displacement of lower priority scheduling events and reorganization of the transmission schedule to ensure that the highest priority transmission events occur in a timely fashion.
The invention provides an efficient method and apparatus for quickly locating an appropriate location in the scheduling ring for scheduling transmission of a cell, without methodically traversing every slot of the scheduling ring. A priority map of the present invention provides an advantage of minimizing read and write accesses to memory structures within the system.
The invention also provides an advantage of facilitating a variable transmission rate by controlling the inter-cell gap associated with each packet depending on a constantly monitored accumulated transmission error associated with each packet. To increase resolution and maintain precision control of the transmission rate, the present invention tracks the transmission error and inter-cell gaps using floating point mathematics. This facilitates tracking of fractional transmission errors, which may otherwise go unreported. By continuously accounting for even fractional transmission errors incurred in servicing previously transmitted cells, the present invention provides a significant advantage of maintaining a close to ideal transmission rate and eliminates the need for additional resynchronization functionality.
The present invention further provides an effective method and apparatus for controlling and maintaining the system""s cell delay variation tolerance through a variety of mechanisms.